public class cuoe {
    import java.util.HashMap;
import java.util.Map;

    public class Fruit_in_basket {
        class Solution {
            public int totalFruit(int[] fruits) {
                int left =0;
                int right =0;
                int ret = 0;
                Map<Integer,Integer> hash = new HashMap<>();
                for( ;right<fruits.length;right++){
                    int in=fruits[right];
                    hash.put(in,hash.getOrDefault(in,0)+1);
                    while(hash.size()>2){
                        int out = fruits[left];
                        hash.put(out,hash.get(out)-1);
                        if(hash.get(out)==0){
                            hash.remove(out);
                        }
                        left++;
                    }
                    ret = Math.max(ret,right-left+1);
                }
                return ret;
            }
        }
    }

}
